package com.hexinfo.dmpro.component.data.transfer.model;

import cn.hutool.core.util.StrUtil;
import lombok.Data;

import java.sql.Connection;

@Data
public class DataExport {

    /** 导出到HDFS的带端口号的目标Port **/
    private String hdfsUrls;

    /** 导出到HDFS的目标目录 **/
    private String hdfsDir;

    /** 导出到本地的目标目录 **/
    private String localDir;

    /** 导出到本地的目标文件 **/
    private String localFileName;

    /** hive jdcb url 地址 例如：jdbc:hive2://127.0.0.1:10000 **/
    private String hiveJdbcUrl;

    /** hive 用户名 **/
    private String hiveUserName;

    /** hive 密码 **/
    private String hivePassword;

    /** 导出源Hive的查询SQL **/
    private String hiveQuerySql;

    /** 导出指定的库名 **/
    private String databaseName;

    /** 导出指定的表名 **/
    private String tableName;

    /** 导出到文件中设定的分隔符 **/
    private String separator;

    /**
     * 是否下载到本地
     */
    private String isDownloadToLocal = "Y";

    public String getHdfsPath() {
        return hdfsUrls + "/" + hdfsDir;
    }

    public String getLocalPath() {
        return localDir + "/" + localFileName;
    }

    public String getTableFullName() {
        return databaseName + "." + tableName;
    }

    public String getHiveJdbcUrls() {
        return StrUtil.format("{}/{}", hiveJdbcUrl, databaseName);
    }
}
